package com.jk.common.constant;


/**
 * 通用常量信息
 *
 * @author happy
 */
public class Constants {
    /**
     * UTF-8 字符集
     */
    public static final String UTF8 = "UTF-8";

    /**
     * GBK 字符集
     */
    public static final String GBK = "GBK";

    /**
     * www主域
     */
    public static final String WWW = "www.";

    /**
     * http请求
     */
    public static final String HTTP = "http://";

    /**
     * https请求
     */
    public static final String HTTPS = "https://";

    /**
     * 通用成功标识
     */
    public static final String SUCCESS = "0";

    /**
     * 通用失败标识
     */
    public static final String FAIL = "1";

    /**
     * 登录成功
     */
    public static final String LOGIN_SUCCESS = "Success";

    /**
     * 注销
     */
    public static final String LOGOUT = "Logout";

    /**
     * 注册
     */
    public static final String REGISTER = "Register";

    /**
     * 登录失败
     */
    public static final String LOGIN_FAIL = "Error";

    /**
     * 验证码有效期（分钟）
     */
    public static final Integer CAPTCHA_EXPIRATION = 2;

    /**
     * 令牌
     */
    public static final String TOKEN = "token";

    /**
     * 令牌前缀
     */
    public static final String TOKEN_PREFIX = "Bearer ";

    /**
     * 令牌前缀
     */
    public static final String LOGIN_USER_KEY = "login_user_key";

    /**
     * 用户ID
     */
    public static final String JWT_USERID = "userid";

    /**
     * 用户名称
     */
//    public static final String JWT_USERNAME = Claims.SUBJECT;

    /**
     * 用户头像
     */
    public static final String JWT_AVATAR = "avatar";

    /**
     * 创建时间
     */
    public static final String JWT_CREATED = "created";

    /**
     * 用户权限
     */
    public static final String JWT_AUTHORITIES = "authorities";

    /**
     * 资源映射路径 前缀
     */
    public static final String RESOURCE_PREFIX = "/profile";

    /**
     * RMI 远程方法调用
     */
    public static final String LOOKUP_RMI = "rmi:";

    /**
     * LDAP 远程方法调用
     */
    public static final String LOOKUP_LDAP = "ldap:";

    /**
     * LDAPS 远程方法调用
     */
    public static final String LOOKUP_LDAPS = "ldaps:";

    /**
     * 自动识别json对象白名单配置（仅允许解析的包名，范围越小越安全）
     */
    public static final String[] JSON_WHITELIST_STR = {"org.springframework", "com.unte.mes"};

    /**
     * 定时任务白名单配置（仅允许访问的包名，如其他需要可以自行添加）
     */
    public static final String[] JOB_WHITELIST_STR = {"com.unte.mes"};

    /**
     * 定时任务违规的字符
     */
    public static final String[] JOB_ERROR_STR = {"java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
            "org.springframework", "org.apache", "com.unte.mes.common.utils.file", "com.unte.mes.common.config"};
    public static final String DELETED = "1";
    public static final String UNDELETED = "0";

    /**
     * redis 缓存验证码 前缀
     */
    public static final String CAPTCHA_PREFIX = "captchaPrefix";


    /**
     * 考勤数据类型
     */
    public static final String TQJ = "T_QJ";
    public static final String TYC = "T_YC";


    public static final String STATUS_OK = "OK";
    public static final String STATUS_NG = "NG";
    public static final String STATUS_CA = "CA";


    public static final String  LANGUAGE_ZH = "zh";

    /**
     * 分档机类型编码 固定 参数key
     */
    public static final String SORTING_CATEGORY_CODE = "mes.sorting.category.code";

    /**
     * 串焊机类型编码 固定 参数key
     */
    public static final String STRINGER_CATEGORY_CODE_CONFIG_KEY = "mes.stringer.category.code";


    /**
     * 串焊工序编码 固定 参数key
     */
    public static final String STRINGER_STEP_CODE_CONFIG_KEY = "process.step.stringer.code";


    /**
     * 迭焊机类型编码 固定 参数key
     */
    public static final String LAYUP_CATEGORY_CODE_CONFIG_KEY = "mes.layup.category.code";

    /**
     * 层压机类型编码 固定 参数key
     */
    public static final String LAM_CATEGORY_CODE_CONFIG_KEY = "mes.lam.category.code";

    /**
     * 清洗机类型编码 固定 参数key
     */
    public static final String CLEAN_CATEGORY_CODE_CONFIG_KEY = "mes.clean.category.code";

    /**
     * 迭焊工序编码 固定 参数key
     */
    public static final String LAYUP_STEP_CODE_CONFIG_KEY = "process.step.layup.code";


    /**
     * 包装工序编码 固定 参数key
     */
    public static final String PACKING_STEP_CODE_CONFIG_KEY = "process.step.packing.code";

    /**
     * el1工序编码 固定 参数key
     */
    public static final String EL1_STEP_CODE_CONFIG_KEY = "process.step.el1.code";

    /**
     * el2工序编码 固定 参数key
     */
    public static final String EL2_STEP_CODE_CONFIG_KEY = "process.step.el2.code";

    /**
     * el3工序编码 固定 参数key
     */
    public static final String EL3_STEP_CODE_CONFIG_KEY = "process.step.el3.code";


    /**
     * 层压工序编码(层压配方) 固定 参数key
     */
    public static final String LAM_STEP_CODE_CONFIG_KEY = "process.step.lam.code";

    /**
     * 层压目检工序编码 固定 参数key
     */
    public static final String MID_INS_STEP_CODE_CONFIG_KEY = "process.step.mid.ins.code";

    /**
     * 首工序 固定 参数key
     */
    public static final String FIRST_STEP_CODE_CONFIG_KEY = "process.step.first.code";

    /**
     * 打印汇流条条码-放小料 固定 参数key
     */
    public static final String BARCODE_STEP_CODE_CONFIG_KEY = "process.step.print.barcode.code";


    /**
     * 层压目检发送plc线体信号，设备类型编码
     */
    public static final String MID_EQ_CATEGORY_CODE_CONFIG_KEY = "mes.mid.eq.category.code";

    /**
     * 接线盒工序编码 固定 参数key
     */
    public static final String JBOX_STEP_CODE_CONFIG_KEY = "process.step.jbox.code";

    /**
     * IV工序编码 固定 参数key
     */
    public static final String IV_TEST_STEP_CODE_CONFIG_KEY = "process.step.iv.test.code";


    /**
     * HiPOT绝缘耐压工序编码 固定 参数key
     */
    public static final String HIPOT_STEP_CODE_CONFIG_KEY = "process.step.hipot.test.code";

    /**
     * 终检工序编码 固定 参数key
     */
    public static final String FINAL_INS_STEP_CODE_CONFIG_KEY = "process.step.final.ins.code";

    /**
     * 清洗工序编码 固定 参数key
     */
    public static final String CLEANING_INS_STEP_CODE_CONFIG_KEY = "process.step.cleaning.code";

    /**
     * MRB评审工序编码 固定 参数key
     */
    public static final String MRB_STEP_CODE_CONFIG_KEY = "process.step.mrb.code";

    /**
     * MRB评审工序编码
     */
    public static final String MRB_STEP_CODE = "ST_MRB";

    /**
     * 分档工序编码 固定 参数key
     */
    public static final String SORTING_STEP_CODE_CONFIG_KEY = "process.step.sorting.code";

    /**
     * 贴标/铭牌工序编码 固定 参数key
     */
    public static final String LABEL_STEP_CODE_CONFIG_KEY = "process.step.label.code";

    /**
     * 清检单编码生成规则编码 参数key
     */
    public static final String MES_CHECK_RULE_CODE_KEY = "mes.check.rule.code";


    /**
     * 包装批次号生成规则编码 固定 参数key
     */
    public static final String BOX_NO_RULE_CODE = "BOX_NO_CODE";


    /**
     * 电池片标准件名称
     */
    public static final String CELL_STANDARD_NAME = "SOLAR_CELL";

    public static final String SEPARATOR = ",";


    public static final String TOPIC = "test";

    public static final String OPERATION_INFO_SUCCESS = "SUCCESS";

    public static final String OPERATION_INFO_FAIL = "FAIL";

    public static final String CELL_STANDARD_CODE = "SOLAR_CELL";
    /**
     * 标准件焊带code
     */
    public static final String TABBING_RIBBON_CODE = "TABBING_RIBBON";
    public static final String SOLDERING_FLUX_CODE = "SOLDERING_FLUX";
    public static final String GLASS_CODE = "GLASS";
    public static final String EVA_CODE = "EVA";
    public static final String EVA_CODE1 = "EVA1";
    public static final String EVA_CODE2 = "EVA2";
    public static final String BACKBOARD_CODE = "BACKBOARD";
    /**
     * 汇流条1
     */
    public static final String BUS_RIBBON_CODE = "BUS_RIBBON";
    public static final String BUS_RIBBON2_CODE = "BUS_RIBBON2";
    /**
     * 长边框
     */
    public static final String LENGTH_FRAME_CODE = "LENGTH_FRAME";
    /**
     * 短边框
     */
    public static final String SHORT_FRAME_CODE = "SHORT_FRAME";
    /**
     * 边框胶
     */
    public static final String FRAME_GLUE_CODE = "FRAME_GLUE";
    /**
     * 接线盒
     */
    public static final String J_BOX_CODE = "J_BOX";
    /**
     * A胶
     */
    public static final String A_GLUE_CODE = "A_GLUE";

    /**
     * B胶
     */
    public static final String B_GLUE_CODE = "B_GLUE";

    /**
     * 接线盒胶
     */
    public static final String JBOX_GLUE = "JBOX_GLUE";


    /**
     * MID
     */
    public static final String MID = "MID";

    /**
     * FINAL
     */
    public static final String FINAL = "FINAL";

    public static final String CLEAN = "CLEAN";

    /**
     * MRB
     */
    public static final String MRB = "MRB";
    public static final String DRAFT = "DRAFT";
    public static final String MRB_STATUS = "1";
    public static final String MRB_STATUS_NO = "0";
    /**
     * 包装入库
     */
    public static final String STOCK_IN = "STOCK_IN";
    /**
     * 成品出库
     */
    public static final String OUT_STOCK = "OUT_STOCK";

    /**
     * 仓库状态
     */
//    public static final String STOCK_DRAFT = "DRAFT";
    public static final String STOCK_APPROVING = "APPROVING";
    public static final String STOCK_APPROVED = "APPROVED";
    public static final String STOCK_FINISHED = "FINISHED";
    public static final String STOCK_REFUSED = "REFUSED";
    public static final String STOCK_UNIT = "Unit";

    /**
     * 待入库
     */
    public static final String STOCK_UNIT_UNIN = "0";
    /**
     * 已入库
     */
    public static final String STOCK_ITEM_IN = "1";

    /**
     * 已出库
     */
    public static final String STOCK_ITEM_OUT = "2";
    /**
     * 箱号 待出库 mes_stock_in_order_item.status
     */
    public static final String STOCK_ITEM_HANDLE_OUT = "4";
    /**
     * 包装入库
     */
    public static final String STOCK_LOG_OPER_TYPE_IN = "1";
    /**
     * 仓库出货
     */
    public static final String STOCK_LOG_OPER_TYPE_OUT = "0";
    /**
     * 通过
     */
    public static final String STOCK_PRODUCT_CHECK_OK = "1";

    /**
     * 没有通过
     */
    public static final String STOCK_PRODUCT_CHECK_NG = "0";

    public static final String BOX_STATUS_IN = "3";
    public static final String BOX_STATUS_NOT = "2";
    public static final String STOCK_IS_CHECK = "1";
    public static final String STOCK_NOT_CHECK = "0";

    public static final String CAL_PLAN_TURN_TYPE_DAY = "DAY";
    public static final String CAL_PLAN_TURN_TYPE_WEEK = "WEEK";
    public static final String CAL_PLAN_TURN_TYPE_MONTH = "MONTH";
    public static final String CAL_PLAN_TURN_TYPE_QUARTER = "QUARTER";
    public static final String CAL_TYPE_WORKDAY = "WORKDAY";
    public static final String CAL_TYPE_HOLIDAY = "HOLIDAY";

    /**
     * 生产状态：1-生产中，2-包装中， 3-已包装，4-已入库，5-已发货
     */
    public static final String TRACK_STATUS_FOUR = "4";
    public static final String TRACK_STATUS_FIVE = "5";
    /**
     * 已入库
     * box_status_warehoused
     * 4
     */
    public static final String BOX_STATUS_WAREHOUSED = "4";
    /**
     * 已收货
     */
    public static final String BOX_STATUS_RECEIVED = "5";

    /**
     * 过站记录 操作类型-层叠返修
     */
    public static final String OPERATE_TYPE_ST_LAYUP_REPAIR = "ST_LAYUP_REPAIR";
//运行状态 MAINTAIN-维护 AWAIT-待机 STOP-停机 RUNNING-运行
    /**
     * 设备运行状态_运行
     */
    public static final String RUNNING_STATE_RUNNING = "RUNNING";

    /**
     * 运行状态 MAINTAIN-维护
     */
    public static final String RUNNING_STATE_MAINTAIN = "MAINTAIN";

    /**
     * 运行状态 STOP-停机
     */
    public static final String RUNNING_STATE_STOP = "STOP";

    /**
     * 运行状态 AWAIT-待机
     */
    public static final String RUNNING_STATE_AWAIT = "AWAIT";
    /**
     * 运行状态 堵料
     */
    public static final String RUNNING_STATE_STOP_MATERIAL = "STOP_MATERIAL";

    /**
     * 运行状态 待料
     */
    public static final String RUNNING_STATE_AWAIT_MATERIAL = "AWAIT_MATERIAL";

    /**
     * 运行状态 换胶
     */
    public static final String RUNNING_STATE_CHANGE_GLUE = "CHANGE_GLUE";


    /**
     * 保养频次单位
     */
    public static final String EQUIPMENT_MAINTAIN_PLAN_FREQUENCY_HOUR = "hour";
    public static final String EQUIPMENT_MAINTAIN_PLAN_FREQUENCY_DAY = "day";
    public static final String EQUIPMENT_MAINTAIN_PLAN_FREQUENCY_WEEK = "week";
    public static final String EQUIPMENT_MAINTAIN_PLAN_FREQUENCY_MONTH = "month";
    public static final String EQUIPMENT_MAINTAIN_PLAN_FREQUENCY_QUARTER = "quarter ";
    public static final String EQUIPMENT_MAINTAIN_PLAN_FREQUENCY_YEAR = "year";
    /**
     * 计划类型_点检
     */
    public static final String MAINTAIN_PLAN_TYPE_CHECK = "1";
    /**
     * 计划类型_保养
     */
    public static final String MAINTAIN_PLAN_TYPE_MAINT= "2";

    /**
     * ems_record_fault_log.status
     */
    public static final String EMS_RECORD_FAULT_LOG_STATS= "0";
    public static final String EMS_RECORD_FAULT_LOG_STATS_1= "1";

    /**
     * 控制是新增保养计划,还是点击保养按钮操作
     */
    public static final String EMS_UPKEEP_OPER_TYPE_ADDPLAN= "addPlan";
    public static final String EMS_UPKEEP_OPER_TYPE_COMMITRECORD= "commitRecord";

    /**
     * 班次开始结束时间 map key
     */
    public static final String SHIFT_START_TIME= "dateTimeStart";
    public static final String SHIFT_END_TIME= "dateTimeEnd";


    public static final String PANEL_SCANNER = "PANEL_SCANNER";

    public static final String FIXTURE_SCANNER = "FIXTURE_SCANNER";


    public static final String KANBAN_DAY = "DAY";

    public static final String KANBAN_WEEK = "WEEK";

    public static final String KANBAN_MONTH = "MONTH";

    /**
     * IP来源区分标识
     */
    public static final String EQUIPMEN = "EQUIPMEN";
    public static final String WORK_EQUIPMENT = "WORK_EQUIPMENT";

    /**
     * 是否使用载体条码参数key 过站逻辑是否使用载体条码，0:使用，1不使用
     */
    public static final String IS_USE_CARRIER = "mes.process.is.use.carrier";

    /**
     * 上工装机械手臂成功信号值参数key
     */
    public static final String FIXTURE_CHECK_SUCCESS_REGISTER = "mes.fixture.check.success.register";

    /**
     * 上工装机械手臂失败信号值参数key
     */
    public static final String FIXTURE_CHECK_FAIL_REGISTER = "mes.fixture.check.fail.register";

    /**
     * 层压目检发送线体plc信号值参数key
     */
    public static final String PROCESS_MID_REGISTER = "mes.process.mid.register";

    /**
     *      * 层压目检发送线体plc信号值参数key参数key
     */
    public static final String FIXTURE_CHECK_SEND_SIGNAL = "mes.fixture.check.send.signal";

    /**
     * 首工序打印完条码信号值
     */
    public static final String FIRST_STEP_SEND_SIGNAL = "mes.process.first.signal";
    /**
     * 物料不足发送plc预警信号值
     */
    public static final String INSUFFICIENT_MATERIALS_SIGNAL = "mes.insufficient.materials.signal";

    /**
     * 第一道扣料工序编码参数key
     */
    public static final String MES_MATERIAL_DEDUCTION_FIRST_STEP_CODE_KEY = "mes.first.material.deduction.step.code";
    /**
     * 第二道扣料工序编码参数key
     */
    public static final String MES_MATERIAL_DEDUCTION_SECOND_STEP_CODE_KEY = "mes.second.material.deduction.step.code";
    /**
     * 第三道扣料工序编码参数key
     */
    public static final String MES_MATERIAL_DEDUCTION_THREE_STEP_CODE_KEY = "mes.three.material.deduction.step.code";


    /**
     * 关联条码方式参数key 手动：1，自动：0
     */
    public static final String MES_ASSOCIATION_SN_METHOD_KEY = "mes.association.sn.method";

    /**
     * 条码关联，不使用载体，自动打印完组件条码，发送plc信号值 参数key
     */
    public static final String MES_BARCODEAASSOCIATION_SIGNAL_KEY = "mes.barcodeaassociation.signal";


    public  static String IS_USE_CARRIER_VALUE = "0";  //0:使用，1不使用

    public  static String FIELD_CARRIER_SN = "carrierSn";


    public static final String DEL_PROCESS_EQUIPMENT_INFO= "del_process_equipment_info";

    public static final String PROCESS_EQUIPMENT_INFO= "process_equipment_info";

    /**
     * 白名单校验类型
     */
    public static final String WHITE_TYPE_TOPIC = "topic";
    public static final String WHITE_TYPE_IP = "ip";

    /**
     * 创披打印设备编码参数key
     */
    public static final String CREATE_LOT_EQ_CODE = "mes.create.lot.print.equipment.code";

    /**
     * 不能重复过站工序编码
     */
    public static final String SYS_NOT_REPEAT_STEP_CODE = "sys_not_repeat_step_code";


}
